	.def	 _split;
	.scl	2;
	.type	32;
	.endef
	.text
	.globl	_split
	.align	16, 0x90
_split:                                 # @split
# BB#0:
	sub	ESP, 24
	mov	EAX, DWORD PTR [ESP + 28]
	mov	DWORD PTR [ESP + 4], EAX
	mov	EAX, DWORD PTR [ESP + 32]
	mov	DWORD PTR [ESP], EAX
	mov	DWORD PTR [ESP + 8], EAX
	mov	EAX, DWORD PTR [ESP]
	mov	EAX, DWORD PTR [4*EAX + _test]
	mov	DWORD PTR [ESP + 12], EAX
	mov	EAX, DWORD PTR [ESP]
	mov	ECX, DWORD PTR [ESP + 4]
	mov	DWORD PTR [ESP + 16], ECX
	inc	EAX
	jmp	LBB0_1
	.align	16, 0x90
LBB0_7:                                 #   in Loop: Header=BB0_1 Depth=1
	inc	DWORD PTR [ESP + 16]
LBB0_1:                                 # =>This Inner Loop Header: Depth=1
	cmp	DWORD PTR [ESP + 16], EAX
	jle	LBB0_2
# BB#6:                                 #   in Loop: Header=BB0_1 Depth=1
	mov	ECX, DWORD PTR [ESP + 8]
	inc	ECX
	mov	DWORD PTR [ESP + 8], ECX
	cmp	DWORD PTR [ESP + 16], ECX
	je	LBB0_4
	jmp	LBB0_7
LBB0_2:
	mov	EAX, DWORD PTR [ESP + 16]
	mov	ECX, DWORD PTR [ESP + 12]
	cmp	ECX, DWORD PTR [4*EAX + _test]
	jg	LBB0_5
# BB#3:
	mov	EAX, DWORD PTR [ESP + 8]
	mov	EAX, DWORD PTR [4*EAX + _test]
	mov	DWORD PTR [ESP + 20], EAX
	mov	EAX, DWORD PTR [ESP + 16]
	mov	EAX, DWORD PTR [4*EAX + _test]
	mov	ECX, DWORD PTR [ESP + 8]
	mov	DWORD PTR [4*ECX + _test], EAX
	mov	EAX, DWORD PTR [ESP + 16]
	mov	ECX, DWORD PTR [ESP + 20]
	mov	DWORD PTR [4*EAX + _test], ECX
LBB0_4:
	mov	EAX, DWORD PTR [ESP + 8]
	mov	EAX, DWORD PTR [4*EAX + _test]
	mov	ECX, DWORD PTR [ESP]
	mov	DWORD PTR [4*ECX + _test], EAX
	mov	EAX, DWORD PTR [ESP + 8]
	mov	ECX, DWORD PTR [ESP + 12]
	mov	DWORD PTR [4*EAX + _test], ECX
	mov	EAX, DWORD PTR [ESP + 8]
	add	ESP, 24
	ret
	.align	16, 0x90
LBB0_5:                                 # =>This Inner Loop Header: Depth=1
	jmp	LBB0_5

	.def	 _quickSort;
	.scl	2;
	.type	32;
	.endef
	.globl	_quickSort
	.align	16, 0x90
_quickSort:                             # @quickSort
# BB#0:
	sub	ESP, 20
	mov	EAX, DWORD PTR [ESP + 24]
	mov	DWORD PTR [ESP + 12], EAX
	mov	EAX, DWORD PTR [ESP + 28]
	mov	DWORD PTR [ESP + 8], EAX
	cmp	DWORD PTR [ESP + 12], EAX
	jge	LBB1_2
# BB#1:
	mov	EAX, DWORD PTR [ESP + 8]
	mov	ECX, DWORD PTR [ESP + 12]
	mov	DWORD PTR [ESP + 4], ECX
	mov	DWORD PTR [ESP], EAX
	call	_split
	mov	DWORD PTR [ESP + 16], EAX
	mov	ECX, 1
	sub	ECX, EAX
	mov	EAX, DWORD PTR [ESP + 8]
	mov	DWORD PTR [ESP + 4], ECX
	mov	DWORD PTR [ESP], EAX
	call	_quickSort
	mov	EAX, DWORD PTR [ESP + 16]
	mov	ECX, DWORD PTR [ESP + 12]
	mov	DWORD PTR [ESP + 4], ECX
	inc	EAX
	mov	DWORD PTR [ESP], EAX
	call	_quickSort
LBB1_2:
	mov	EAX, DWORD PTR [ESP + 16]
	add	ESP, 20
	ret

	.def	 _main;
	.scl	2;
	.type	32;
	.endef
	.globl	_main
	.align	16, 0x90
_main:                                  # @main
# BB#0:
	sub	ESP, 8
	mov	DWORD PTR [_n], 10
	mov	DWORD PTR [_test], 49
	mov	DWORD PTR [_test+4], 38
	mov	DWORD PTR [_test+8], 65
	mov	DWORD PTR [ESP + 4], 3
	mov	DWORD PTR [ESP], 0
	call	_quickSort
	xor	EAX, EAX
	add	ESP, 8
	ret

	.data
	.globl	_test                   # @test
	.align	16
_test:
	.zero	36

	.globl	_n                      # @n
	.align	4
_n:
	.long	0                       # 0x0


